Space Issues in Compiling with Intersection and Union Types
نویسندگان
چکیده
The CIL compiler for core Standard ML compiles whole programs using the CIL typed intermediate language with ow labels and intersection and union types. Flow labels embed ow information in the types and intersection and union types support precise polyvariant type and ow information, without the use of type-level abstraction or quanti cation. Compile-time representations of CIL types and terms are potentially large compared to those for similar types and terms in systems based on quanti ed types. The listing-based nature of intersection and union types, together with ow label annotations on types, contribute to the size of CIL types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce multiple representation conventions, but incurs a compile-time space cost. This paper presents empirical data on the compile-time space costs of using CIL. These costs can be made tractable using standard hash-consing techniques. Surprisingly, the duplicating nature of CIL has acceptable compile-time space performance in practice on the benchmarks and ow analyses that we have investigated. Increasing the precision of ow analysis can signi cantly reduce compile-time space costs. There is also preliminary evidence that the ow information encoded in CIL's type system can e ectively guide data customization.
منابع مشابه
Program Representation Size in an Intermediate Language with Intersection and Union Types
The CIL compiler for core Standard ML compiles whole programs using a novel typed intermediate language (TIL) with intersection and union types and ow labels on both terms and types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce...
متن کاملCompleteness and Soundness results for X with Intersection and Union Types
This paper defines intersection and union type assignment for the sequent calculus X , a substitution-free language that enjoys the Curry-Howard correspondence with respect to Gentzen’s sequent calculus for classical logic. We show that this notion is complete (i.e. closed for subject-expansion), and show that the non-logical nature of both intersection and union types disturbs the soundness (i...
متن کاملTowards a Logic for Union Types
We examine a logical foundation for the intersection and union types assignment system (IUT). The proposed system is Intersection and Union Logic (IUL), an extension of Intersection Logic (IL) with the canonical rules for union. We investigate two different formalisms for IUL, as well as its properties and its relation with minimal intuitionistic logic.
متن کاملTowards an Intersection and Union Logic
A logical foundation for the intersection and union types assignment system (IUT) is proposed. We present Intersection-Union Logic (IUL) as an extension of Intersection Logic (IL) by adding rules for union and we examine some properties of this system and its relation with intuitionistic minimal logic.
متن کاملIntersection and Union Types in the λμμ̃-calculus
The original λμe μ of Curien and Herbelin has a system of simple types, based on sequent calculus, embodying a Curry-Howard correspondence with classical logic. We introduce and discuss three type assignment systems that are extensions of λμe μ with intersection and union types. The intrinsic symmetry in the λμe μ calculus leads to an essential use of both intersection and union types.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000